$(NULL)
ostree_remount_CPPFLAGS = $(AM_CPPFLAGS) -Isrc/switchroot
+if BUILDOPT_SYSTEMD
+ostree_prepare_root_CPPFLAGS += -DHAVE_SYSTEMD=1
+ostree_prepare_root_LDADD = $(AM_LDFLAGS) $(LIBSYSTEMD_LIBS)
+endif
+
# This is the "new mode" of using a generator for /var; see
# https://github.com/ostreedev/ostree/issues/855
if BUILDOPT_SYSTEMD_AND_LIBMOUNT
#include <errno.h>
#include <ctype.h>
+#ifdef HAVE_LIBSYSTEMD
+#include <systemd/sd-journal.h>
+#define OSTREE_PREPARE_ROOT_DEPLOYMENT_MSG SD_ID128_MAKE(71,70,33,6a,73,ba,46,01,ba,d3,1a,f8,88,aa,0d,f7)
+#endif
+
#include "ostree-mount-util.h"
/* Initialized early in main */
deploy_path = realpath (destpath, NULL);
if (deploy_path == NULL)
err (EXIT_FAILURE, "realpath(%s) failed", destpath);
+ if (stat (deploy_path, &stbuf) < 0)
+ err (EXIT_FAILURE, "stat(%s) failed", deploy_path);
/* Quiet logs if there's no journal */
- if (!running_as_pid1)
- printf ("Resolved OSTree target to: %s\n", deploy_path);
+#ifdef HAVE_LIBSYSTEMD
+ const char *resolved_path = deploy_path + strlen (root_mountpoint);
+ sd_journal_send ("MESSAGE=Resolved OSTree target to: %s", deploy_path,
+ "MESSAGE_ID=" SD_ID128_FORMAT_STR,
+ SD_ID128_FORMAT_VAL(OSTREE_PREPARE_ROOT_DEPLOYMENT_MSG),
+ "DEPLOYMENT_PATH=%s", resolved_path,
+ "DEPLOYMENT_DEVICE=%u", stbuf.st_dev,
+ "DEPLOYMENT_INODE=%u", stbuf.st_ino,
+ NULL);
+#endif
return deploy_path;
}